//
//  GYBaseModel.m
//  UI23_基类
//
//  Created by dllo on 16/1/8.
//  Copyright © 2016年 dllo. All rights reserved.
//

#import "GYBaseModel.h"

@implementation GYBaseModel

+(NSMutableArray *)baseModelByArr:(NSArray *)arr{
    //创建一个可变的数组
    NSMutableArray *array=[NSMutableArray array];
    //传过来的数组是数组套字典的结构,对数组进行遍历
    for (NSDictionary *dic in arr) {
        //创建对象,对象的内容以字典为依据
        id model=[[self class] baseModelWithDic:dic];
        //把对象加到数组里
        [array addObject:model];
    }
    return array;
}

//写一个遍历构造器,通过构造器创建对象,并且把字典作为参数传到方法里
+(instancetype)baseModelWithDic:(NSDictionary *)dic{
    //通过self class可以找到调用方法的类,然后通过类区调用alloc,从而实现创建的操作,      多态(任意环境,充当任意类型.相当于"我")
    id model=[[[self class] alloc]initWithDic:dic];
    return model;
}

//遍历构造器封装了初始化方法,所以还需要写一个初始化方法
-(instancetype)initWithDic:(NSDictionary *)dic{
    self=[super init];
    if (self) {
        //字典对对象进行赋值的操作
        [self setValuesForKeysWithDictionary:dic];
    }
    return self;
}
-(void)setValue:(id)value forUndefinedKey:(NSString *)key{

}


@end
